package com.zdkj.subway.stm.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zdkj.common.core.entity.BaseEntity;
import com.zdkj.subway.stm.util.LocalDateConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 钱箱未卸载
 *
 * @author songtuo
 * @date 2020-07-08 09:33:50
 */
@Data
@TableName("sw_st_input_cashbox_uninstalled")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "钱箱未卸载")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SwStInputCashboxUninstalled extends BaseEntity<SwStInputCashboxUninstalled> {
    private static final long serialVersionUID = 1L;

    /**
     * 逻辑主键
     */
    @TableId
    @ExcelProperty(value = "序号")
    @ApiModelProperty(value = "逻辑主键")
    private Integer id;
    /**
     * 线程编号
     */
    @ApiModelProperty(value = "线程编号")
    @ExcelIgnore
    private String lineCode;
    /**
     * 线路名称
     */
    @ApiModelProperty(value = "线路名称")
    @ExcelIgnore
    private String lineName;
    /**
     * 车站编号
     */
    @ApiModelProperty(value = "车站编号")
    @ExcelIgnore
    private String stationCode;
    /**
     * 车站名称，不能重复
     */
    @ApiModelProperty(value = "车站名称，不能重复")
    @ExcelIgnore
    private String stationName;
    /**
     * TVM编号（字典）
     */
    @ApiModelProperty(value = "TVM编号（字典）")
    @ExcelProperty("TVM编号")
    private String tvmCode;
    /**
     * 钱箱编号
     */
    @ApiModelProperty(value = "钱箱编号")
    @ExcelProperty("钱箱编号")
    private String moneyBoxCode;
    /**
     * 钱箱类型
     */
    @ApiModelProperty(value = "钱箱类型")
    @ExcelProperty("钱箱编号")
    private String moneyBoxType;
    /**
     * 未卸载日期
     */
    @ApiModelProperty(value = "未卸载日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "未卸载日期", converter = LocalDateConverter.class)
    private LocalDate uninstalledDate;
    /**
     * 卸载日期
     */
    @ApiModelProperty(value = "卸载日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "卸载日期", converter = LocalDateConverter.class)
    private LocalDate uninstallDate;
    /**
     * 应卸载金额
     */
    @ApiModelProperty(value = "应卸载金额(元)")
    @ExcelProperty("应卸载金额")
    private BigDecimal shouldBeUnloadedAmount;
    /**
     * 实际卸载金额
     */
    @ExcelProperty("卸载金额")
    @ApiModelProperty(value = "实际卸载金额(元)")
    private BigDecimal uninstallAmount;
    /**
     * 差异金额
     */
    @ExcelProperty("差异金额")
    @ApiModelProperty(value = "差异金额(元)")
    private BigDecimal differenceAmount;

    /**
     * 入账日期
     */
    @ApiModelProperty(value = "入账日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "入账日期", converter = LocalDateConverter.class)
    private LocalDate postDate;
    /**
     * 非标准币金额(纸币箱有，硬币箱没有)
     */
    @ExcelIgnore
    @ApiModelProperty(value = "非标准币金额(纸币箱有，硬币箱没有)")
    private BigDecimal nsAmount;
    /**
     * 清点人ID
     */
    @ApiModelProperty(value = "清点人ID")
    @ExcelIgnore
    private Integer inventoryPersonId;
    /**
     * 清点人名称
     */
    @ExcelProperty("清点人")
    @ApiModelProperty(value = "清点人名称")
    private String checkPersonName;

    /**
     * 清点人工号
     */
    @ApiModelProperty(value = "清点人工号")
    @ExcelProperty("清点人工号")
    private String inventoryPersonJobNo;

    /**
     * 状态 1：已提交  0：未提交
     */


    @ApiModelProperty(value = "状态 1：已提交  0：未提交")
    @ExcelProperty("状态")
    private String isSubmit;

    /**
     * 备注
     */
    @ExcelProperty("备注")
    @ApiModelProperty(value = "备注")
    private String remark;
}
